<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Practices.EnterpriseLibrary.Common</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility">
            <summary>
            <para>Common Cryptography methods.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.LogCryptographyException(System.Exception)">
            <summary>
            <para>Logs an exception that occurs during a cryptography operation to the event log.</para>
            </summary>
            <param name="ex">
            <para>The <see cref="T:System.Exception"/> to log.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.CompareBytes(System.Byte[],System.Byte[])">
            <summary>
            <para>Determine if two byte arrays are equal.</para>
            </summary>
            <param name="byte1">
            <para>The first byte array to compare.</para>
            </param>
            <param name="byte2">
            <para>The byte array to compare to the first.</para>
            </param>
            <returns>
            <para><see langword="true"/> if the two byte arrays are equal; otherwise <see langword="false"/>.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.GetBytesFromHexString(System.String)">
            <summary>
            <para>Returns a byte array from a string representing a hexidecimal number.</para>
            </summary>
            <param name="hexidecimalNumber">
            <para>The string containing a valid hexidecimal number.</para>
            </param>
            <returns><para>The byte array representing the hexidecimal.</para></returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.GetHexStringFromBytes(System.Byte[])">
            <summary>
            <para>Returns a string from a byte array represented as a hexidecimal number (eg: 0F351A).</para>
            </summary>
            <param name="bytes">
            <para>The byte array to convert to forat as a hexidecimal number.</para>
            </param>
            <returns>
            <para>The formatted representation of the bytes as a hexidcimal number.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.CombineBytes(System.Byte[],System.Byte[])">
            <summary>
            <para>Combines two byte arrays into one.</para>
            </summary>
            <param name="buffer1"><para>The prefixed bytes.</para></param>
            <param name="buffer2"><para>The suffixed bytes.</para></param>
            <returns><para>The combined byte arrays.</para></returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.GetRandomBytes(System.Int32)">
            <summary>
            Creates a cryptographically strong random set of bytes.
            </summary>
            <param name="size">The size of the byte array to generate.</param>
            <returns>The computed bytes.</returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.GetRandomBytes(System.Byte[])">
            <summary>
            <para>Fills a byte array with a cryptographically strong random set of bytes.</para>
            </summary>
            <param name="bytes"><para>The byte array to fill.</para></param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.CryptographyUtility.ZeroOutBytes(System.Byte[])">
            <summary>
            <para>Fills <paramref name="bytes"/> zeros.</para>
            </summary>
            <param name="bytes">
            <para>The byte array to fill.</para>
            </param>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer">
            <summary>
            <para>Represents a managed wrapper over the DPAPI win32 apis.</para>
            </summary>
            <remarks>
            This is a DPAPI wrapper.  It is heavily based on the reference application on the Microsoft whitepaper at:
            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT07.asp?frame=true
            There have been some improvements, notably in the stricter cleanup of unmanaged global handles in Finally blocks.
            </remarks>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.#ctor">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer"/> class with the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode"/> set to <see cref="F:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode.Machine"/>.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.#ctor(Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode)">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer"/> class with a <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode"/>.</para>
            </summary>
            <param name="storageMode"><para>One of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode"/> values.</para></param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.Encrypt(System.Byte[])">
            <summary>
            <para>
            Encrypt given data; this overload can be used ONLY when storage mode is "User", since when storage mode 
            is "Machine" we MUST have optional entropy to "salt" the phrase.
            This will throw an Invalid Operation Exception if used in Machine mode.
            </para>
            </summary>
            <param name="plaintext"><para>The plain text that will be encrypted.</para></param>
            <returns><para>The resulting cipher text.</para></returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.Decrypt(System.Byte[])">
            <summary>
            <para>
            Decrypts the given ciphertext.  Can be used only when in "User" mode, otherwise this will throw 
            an InvalidOperationException because entropy is required when using Machine mode.
            </para>
            </summary>
            <param name="cipherText">
            <para>The cipher text that will be decrypted.</para>
            </param>
            <returns>
            <para>The resulting plain text.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.Encrypt(System.Byte[],System.Byte[])">
            <summary>
            <para>
            Encrypt given data; this overload should be used when storage mode is "Machine", since when storage mode 
            is "Machine" you must define entropy to "salt" the phrase.
            </para>
            </summary>
            <param name="plaintext"><para>The plain text that will be encrypted.</para></param>
            <param name="entropy"><para>The entropy to salt the phrase.</para></param>
            <returns><para>The resulting cipher text.</para></returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.Decrypt(System.Byte[],System.Byte[])">
            <summary>
            <para>Decrypt the given data.</para>
            </summary>
            <param name="cipherText"><para>The cipher text that will be decrypted.</para></param>
            <param name="entropy"><para>The entropy that was used to salt the phrase.</para></param>
            <returns><para>The resulting plain text.</para></returns>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiCryptographer.StorageMode">
            <summary>
            <para>Gets the storage mode for this instance.</para>
            </summary>
            <value>One of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode"/> values.</value>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode">
            <summary>
            <para>Specifies the key store used by DPAPI.</para>
            </summary>
        </member>
        <member name="F:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode.None">
            <summary>
            No storage mode specified. Should never happen or be used
            </summary>
        </member>
        <member name="F:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode.Machine">
            <summary>
            <para>Store the key  using the machine account.</para>
            </summary>
        </member>
        <member name="F:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.DpapiStorageMode.User">
            <summary>
            <para>No storage selected. This value represents that we are not using DPAPI.</para>
            </summary>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.HashCryptographer">
            <summary>
            <para>Represents a basic cryptography services for a <see cref="T:System.Security.Cryptography.HashAlgorithm"/>.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.HashCryptographer.#ctor(System.String)">
            <summary>
            <para>Initialize a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.HashCryptographer"/> with an algorithm type.</para>
            </summary>
            <param name="algorithmType">A fully qualifed type name derived from <see cref="T:System.Security.Cryptography.HashAlgorithm"/>.</param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.HashCryptographer.#ctor(System.String,System.Byte[])">
            <summary>
            <para>Initialize a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.HashCryptographer"/> with an algorithm type and key.</para>
            </summary>
            <param name="algorithmType">A fully qualifed type name derived from <see cref="T:System.Security.Cryptography.HashAlgorithm"/>.</param>
            <param name="key"><para>The key for a <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm"/>.</para></param>
            <remarks>
            While this overload will work with a specified <see cref="T:System.Security.Cryptography.HashAlgorithm"/>, the key 
            is only relevant when initializing with a specified <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm"/>.
            </remarks>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.HashCryptographer.ComputeHash(System.Byte[])">
            <summary>
            <para>Computes the hash value of the plaintext.</para>
            </summary>
            <param name="plaintext"><para>The plaintext in which you wish to hash.</para></param>
            <returns><para>The resulting hash.</para></returns>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.NativeMethods">
            <devdoc>
            Native methods for interop with crypt32.dll and kernel32.dll.
            </devdoc>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer">
            <summary>
            <para>Represents basic cryptography services for a <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/>.</para>
            </summary>
            <remarks>
            <para>
            Because the IV (Initialization Vector) has the same distribution as the resulting 
            ciphertext, the IV is randomly generated and prepended to the ciphertext.
            </para>
            </remarks>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer.#ctor(System.Security.Cryptography.SymmetricAlgorithm,System.Byte[])">
            <summary>
            <para>Initalize a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer"/> class with a <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/> and key.</para>
            </summary>
            <param name="algorithm"><para>The algorithm in which to perform crypographic functions.</para></param>
            <param name="key"><para>The key for the algorithm.</para></param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer.#ctor(System.String,System.Byte[])">
            <summary>
            <para>Initalize a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer"/> class with an algorithm type and a key.</para>
            </summary>
            <param name="algorithmType"><para>The qualified assembly name of a <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/>.</para></param>
            <param name="key"><para>The key for the algorithm.</para></param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer.Encrypt(System.Byte[])">
            <summary>
            <para>Encrypts bytes with the initialized algorithm and key.</para>
            </summary>
            <param name="plaintext"><para>The plaintext in which you wish to encrypt.</para></param>
            <returns><para>The resulting ciphertext.</para></returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Cryptography.SymmetricCryptographer.Decrypt(System.Byte[])">
            <summary>
            <para>Decrypts bytes with the initialized algorithm and key.</para>
            </summary>
            <param name="encryptedText"><para>The text which you wish to decrypt.</para></param>
            <returns><para>The resulting plaintext.</para></returns>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData">
            <summary>
            <para>
            This type supports the Instrumentation infrastructure and is not intended to be used directly from your code.
            </para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.#ctor">
            <summary/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.Publish">
            <devdoc>
            This method wraps the BaseEvent.Published property so that it can have a ConditionalAttribute that can be used to turn off WMI.
            </devdoc>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.ProcessIdentifier">
            <summary/>
            <exclude/>
            <devdoc>
            The id of the process.
            </devdoc>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.ProcessName">
            <summary/>
            <exclude/>
            <devdoc>
            The name of the process.
            </devdoc>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.BaseDirectory">
            <summary/>
            <exclude/>
            <devdoc>
            The base directory.
            </devdoc>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.ConfigFile">
            <summary/>
            <exclude/>
            <devdoc>
            The configuration file.
            </devdoc>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ApplicationData.PerformanceCounterInstanceName">
            <summary/>
            <exclude/>
            <devdoc>
            The name of the performance counter instance for the purpose of cross-referencing the performance counters.
            </devdoc>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogger">
            <summary>
            <para>
            This type supports the Instrumentation infrastructure and is not intended to be used directly from your code.
            </para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogger.#ctor(System.String,System.Diagnostics.EventLogEntryType,System.Int32)">
            <summary/>
            <param name="source"/>
            <param name="logType"/>
            <param name="eventId"/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogger.Log(System.String)">
            <summary/>
            <param name="message"/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogger.Log(System.String,System.Diagnostics.EventLogEntryType)">
            <summary/>
            <param name="message"/>
            <param name="eventLogType"/>
            <exclude/>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier">
            <summary>
            <para>
            This type supports the Instrumentation infrastructure and is not intended to be used directly from your code.
            </para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier.#ctor(System.Diagnostics.EventLogEntryType,System.Int32)">
            <summary/>
            <param name="logType"/>
            <param name="eventId"/>
            <exclude/>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier.LogType">
            <summary/>
            <exclude/>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier.EventId">
            <summary/>
            <exclude/>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent">
            <summary>
            <para>
            This type supports the Instrumentation infrastructure and is not intended to be used directly from your code.
            </para>
            </summary>
            <devdoc>
            The is the base class for all the events instrumented by Enterprise Library.
            Types of instrumentation includes: WMI, EventLog, and Performance Counters.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.#ctor(System.String,System.String[],System.Boolean,System.String,Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier[])">
            <summary/>
            <param name="counterCategory"/>
            <param name="counterNames"/>
            <param name="createNewInstance"/>
            <param name="eventLogSource"/>
            <param name="eventIds"/>
            <exclude/>
            <devdoc>
            This constructor create a object that represents an instrumented event.
            When this event is fired, it increments all its performance counter instances
            and write to event log for all its event id.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.#ctor(System.String,System.String[],System.Boolean)">
            <summary/>
            <param name="counterCategory"/>
            <param name="counterNames"/>
            <param name="createNewInstance"/>
            <exclude/>
            <devdoc>
            This constructor create an object that only uses the performance counters.
            </devdoc>                        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireWmiEvent(System.Management.Instrumentation.BaseEvent)">
            <summary/>
            <param name="baseEvent"/>
            <exclude/>
            <devdoc>
            The reason it wraps the BaseEvent.Fire method is to allow Wmi
            events to be turned on and off in the Instrumentation assembly.
            Otherwise, for all the frameworks, the compiler switch needs to
            be turned on/off for all the Instrumentation.xxx projects.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.GetErrorMessage(System.Exception)">
            <summary/>
            <param name="exception"/>
            <returns/>
            <exclude/>
            <devdoc>
            This method builds the error message from an exception object.
            </devdoc> 
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireEvent(System.String)">
            <summary/>
            <param name="message"/>
            <exclude/>
            <devdoc>
            This method increments the performance counters and write to event log.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireEvent">
            <summary/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireEvent(System.String,System.Diagnostics.EventLogEntryType)">
            <summary/>
            <param name="message"/>
            <param name="eventLogType"/>
            <exclude/>
            <devdoc>
            This method increments the performance counters and write to event log with the event log type passed in.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireEvent(System.String,Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances[],System.Int64[])">
            <summary/>
            <param name="message"/>
            <param name="counterInstancesArray"/>
            <param name="counterValues"/>
            <exclude/>
            <devdoc>
            This method Increment the performance counters, update the timer counter, and write to event logs.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireEvent(System.String,System.Int64)">
            <summary/>
            <param name="message"/>
            <param name="increment"/>
            <exclude/>
            <devdoc>
            This method Increment the performance counters, update the timer counter, and write to event logs.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.GetPerformanceCounterInstances(System.String)">
            <summary/>
            <param name="counterName"/>
            <returns/>
            <exclude/>
            <devdoc>
            Searches the internal performance counter instances by the counter name.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.FireWmiEventCore(System.Management.Instrumentation.BaseEvent)">
            <devdoc>
            Double wrap it here so that the switch is totally contained in
            this assembly.  The conditional attribute on FireWmiEvent will
            still need the compiler switch on all the individual Instrumentation.xxx 
            projects.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.Initialize(System.String,System.String[],System.Boolean,System.String,Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier[])">
            <devdoc>
            This method initializes the internal performance counters and event loggers.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.AddEventLogger(System.String,Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.EventLogIdentifier[])">
            <devdoc>
            Add the event loggers to the internal array of event loggers.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.AddPerformanceCounter(System.String,System.String[],System.Boolean)">
            <devdoc>
            This method adds the performance counter instances to the internal array.
            </devdoc>        
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances">
            <summary>
            <para>
            This type supports the Instrumentation infrastructure and is not intended to be used directly from your code.
            </para>
            </summary>	
            <devdoc>
            This class can contain two performance counters, one for the app and another for _total_. 
            </devdoc>	
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.#ctor(System.String,System.String,System.Boolean)">
            <summary/>
            <param name="categoryName"/>
            <param name="counterName"/>
            <param name="createNewInstance"/>
            <exclude/>
            <devdoc>
            This class can contain two performance counters, one for the application and another for _total_. 
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.RawValue(System.Int64)">
            <summary/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.Decrement">
            <summary/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.Increment">
            <summary/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.IncrementBy(System.Int64)">
            <summary/>
            <param name="value"/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.IncrementByCore(System.Int64)">
            <devdoc>
            Make this method private so that it can have conditional attribute
            defined in this project.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.IncrementCore">
            <devdoc>
            Make this method private so that it can have conditional attribute /// defined in this project.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.DecrementCore">
            <devdoc>
            Make this method private so that it can have conditional attribute
            defined in this project.
            </devdoc>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.ReportCounterFailure(System.String)">
            <devdoc>
            Reports the failure in performance counters once per counter to the event log.
            </devdoc>        
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.RawValueCore(System.Int64)">
            <devdoc>
            Make this method private so that it can have conditional attribute defined in this project.
            </devdoc>        
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.CurrentInstanceName">
            <summary/>
            <exclude/>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.CounterName">
            <summary/>
            <exclude/>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstaller">
            <summary>
            Installer for common event sources. This class is not meant to be used by any callers.
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstaller.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstaller"></see>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstaller.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
            <param name="disposing">True if called from Dispose, false if called from finalizer</param>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstallerBase">
            <summary>
            <para>This type supports the Instrumentation infrastructure and is not intended to be used directly from your code.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstallerBase.#ctor(System.String,System.String,System.String,System.Diagnostics.CounterCreationData[])">
            <summary/>
            <param name="eventSource"/>
            <param name="counterCategory"/>
            <param name="counterCategoryHelp"/>
            <param name="counterData"/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstallerBase.Install(System.Collections.IDictionary)">
            <summary/>
            <param name="stateSaver"/>
            <exclude/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstallerBase.Uninstall(System.Collections.IDictionary)">
            <summary/>
            <param name="savedState"/>
            <exclude/>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation">
            <summary>
            <para>Common validation routines for argument validation.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckForEmptyString(System.String,System.String)">
            <summary>
            <para>Check if the <paramref name="variable"/> is an embpty string.</para>
            </summary>
            <param name="variable">
            <para>The value to check.</para>
            </param>
            <param name="variableName">
            <para>The name of the variable being checked.</para>
            </param>
            <remarks>
            <para>Before checking the <paramref name="variable"/>, a call is made to <see cref="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckForNullReference(System.Object,System.String)"/>.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            <pararef name="variable"/> can not be <see langword="null"/> (Nothing in Visual Basic).
            <para>- or -</para>
            <pararef name="variableName"/> can not be <see langword="null"/> (Nothing in Visual Basic).
            </exception>
            <exception cref="T:System.ArgumentException">
            <pararef name="variable"/> can not be a zero length <see cref="T:System.String"/>.
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckForNullReference(System.Object,System.String)">
            <summary>
            <para>Check if the <paramref name="variable"/> is <see langword="null"/> (Nothing in Visual Basic).</para>
            </summary>
            <param name="variable">
            <para>The value to check.</para>
            </param>
            <param name="variableName">
            <para>The name of the variable being checked.</para>
            </param>
            <exception cref="T:System.ArgumentNullException">
            <pararef name="variable"/> can not <see langword="null"/> (Nothing in Visual Basic).
            <para>- or -</para>
            <pararef name="variableName"/> can not <see langword="null"/> (Nothing in Visual Basic).
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckForInvalidNullNameReference(System.String,System.String)">
            <summary>
            Validates that the input messageName is neither null nor empty
            </summary>
            <param name="name">Parameter name</param>
            <param name="messageName">Parameter value</param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckForZeroBytes(System.Byte[],System.String)">
            <summary>
            <para>Checks <paramref name="bytes"/> for zero length and throw an <see cref="T:System.ArgumentException"/> if the length equals zero.</para>
            </summary>
            <param name="bytes">
            The <see cref="T:System.Byte"/> array to check.
            </param>
            <param name="variableName">
            <para>The name of the variable being checked.</para>
            </param>
            <exception cref="T:System.ArgumentNullException">
            <pararef name="variable"/> can not <see langword="null"/> (Nothing in Visual Basic).
            <para>- or -</para>
            <pararef name="variableName"/> can not <see langword="null"/> (Nothing in Visual Basic).
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="bytes"/> can not be zero length.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckExpectedType(System.Object,System.Type)">
            <summary>
            <para>Check <paramref name="variable"/> to determine if it matches the <see cref="T:System.Type"/> of <paramref name="type"/>.</para>
            </summary>
            <param name="variable">
            <para>The value to check.</para>
            </param>
            <param name="type">
            <para>The <see cref="T:System.Type"/> expected type of <paramref name="variable"/>.</para>
            </param>
            <exception cref="T:System.ArgumentNullException">
            <pararef name="variable"/> can not <see langword="null"/> (Nothing in Visual Basic).
            <para>- or -</para>
            <pararef name="typeName"/> can not <see langword="null"/> (Nothing in Visual Basic).
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="variable"/> is not the expected <see cref="T:System.Type"/>.
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ArgumentValidation.CheckEnumeration(System.Type,System.Object,System.String)">
            <summary>
            <para>Check <paramref name="variable"/> to determine if it is a valid defined enumeration for <paramref name="enumType"/>.</para>
            </summary>
            <param name="variable">
            <para>The value to check.</para>
            </param>
            <param name="enumType">
            <para>The <see cref="T:System.Type"/> expected type of <paramref name="variable"/>.</para>
            </param>
            <param name="variableName">
            <para>The name of the variable being checked.</para>
            </param>
            <exception cref="T:System.ArgumentNullException">
            <pararef name="variable"/> can not <see langword="null"/> (Nothing in Visual Basic).
            <para>- or -</para>
            <pararef name="enumType"/> can not <see langword="null"/> (Nothing in Visual Basic).
            <para>- or -</para>
            <pararef name="variableName"/> can not <see langword="null"/> (Nothing in Visual Basic).
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="variable"/> is not the expected <see cref="T:System.Type"/>.
            <para>- or -</para>
            <par><paramref name="enumType"/> is not an <see cref="T:System.Enum"/>. </par>
            </exception>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection">
            <summary>
            <para>Represents a collection of configuration data items.</para>
            </summary>  
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.#ctor">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> class that is empty, has the default initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.#ctor(System.Int32)">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> class that is empty, has the specified initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.</para>
            </summary>
            <param name="capacity">
            <para>The initial number of entries that the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> can contain.</para>
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="capacity"/> is less than zero.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.#ctor(System.Collections.IHashCodeProvider,System.Collections.IComparer)">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> class that is empty, has the default initial capacity and uses the specified hash code provider and the specified comparer.</para>
            </summary>
            <param name="hashCodeProvider">
            <para>The <see cref="T:System.Collections.IHashCodeProvider"/> that will supply the hash codes for all keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </param>
            <param name="comparer">
            <para>The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys are equal.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.#ctor(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer)">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> class that is empty, and uses the specified capacity, the specified hash code provider and the specified comparer.</para>
            </summary>
            <param name="capacity">
            <para>The initial number of entries that the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> can contain.</para>
            </param>
            <param name="hashCodeProvider">
            <para>The <see cref="T:System.Collections.IHashCodeProvider"/> that will supply the hash codes for all keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </param>
            <param name="comparer">
            <para>The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys are equal.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            <para>Initializes a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> class that is serializable and uses the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> and <see cref="T:System.Runtime.Serialization.StreamingContext"/>.</para>
            </summary>
            <param name="info">
            <para>A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> object that contains the information required to serialize the new <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance. </para>
            </param>
            <param name="context">
            <para>A <see cref="T:System.Runtime.Serialization.StreamingContext"/> object that contains the source and destination of the serialized stream associated with the new <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            <para>Implements the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface and returns the data needed to serialize the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> to populate with data.</param>
            <param name="context">The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext"></see>) for this serialization.</param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.OnDeserialization(System.Object)">
            <summary>
            <para>Implements the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface and raises the deserialization event when the deserialization is complete.</para>
            </summary>
            <param name="sender">
            <para>The source of the deserialization event.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.Remove(System.String)">
            <summary>
            <para>Removes the entry with the specified <paramref name="name"/> from the collection.</para>
            </summary>
            <param name="name">
            <para>The name of the item to remove.</para>
            </param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is a <see langword="null"/> reference (Nothing in Visual Basic).</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.RemoveAt(System.Int32)">
            <summary>
            <para>Removes the entry at the specified index of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="index">
            <para>The zero-based index of the entry to remove.</para>
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only. </para>
            <para>- or -</para>
            <para>The collection has a fixed size.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.Contains(System.String)">
            <summary>
            Determines whether the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> contains a specific key.
            </summary>
            <param name="name">
            <para>The key to locate in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </param>
            <returns>
            <para><see langword="true"/> if the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> contains an element with the specified key; otherwise, <see langword="false"/>.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.Clear">
            <summary>
            <para>Removes all entries from the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </summary>
            <remarks>
            <para><seealso cref="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.Count"/> is set to zero.</para>
            </remarks>
            <seealso cref="M:System.Collections.IList.Clear"/>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.GetEnumerator">
            <summary>
            <para>Returns an enumerator that can iterate through the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </summary>
            <returns>
            <para>An <see cref="T:System.Collections.IEnumerator"/> for the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.CopyTo(System.Array,System.Int32)">
            <summary>
            <para>Copies the entire <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> to a compatible one-dimensional Array, starting at the specified index of the target array.</para>
            </summary>
            <param name="array">
            <para>The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</para>
            </param>
            <param name="index">
            <para>The zero-based index in array at which copying begins.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseHasKeys">
            <summary>
            <para>Gets a value indicating whether the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance contains entries whose keys are not a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </summary>
            <returns>
            <para><see langword="true"/> if the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance contains entries whose keys are not a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic); otherwise, <see lagword="false"/>.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseAdd(System.String,System.Object)">
            <summary>
            <para>Adds an entry with the specified key and value into the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="name">
            <para>The string key of the entry to add. The key can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic)</para>.
            </param>
            <param name="value">
            <para>The object value of the entry to add. The value can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </param>
            <exception cref="T:System.InvalidOperationException">
            <para>The collection already contains an entry for <paramref name="name"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only.</para>
            <para>- or -</para>
            <para>The collection has a fixed size.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseRemove(System.String)">
            <summary>
            <para>Removes the entries with the specified key from the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="name">
            <para>The string key of the entry to add. The key can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic)</para>.
            </param>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only.</para>
            <para>- or -</para>
            <para>The collection has a fixed size.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseRemoveAt(System.Int32)">
            <summary>
            <para>Removes the entry at the specified index of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="index">
            <para>The zero-based index of the entry to remove.</para>
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only.</para>
            <para>- or -</para>
            <para>The collection has a fixed size.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseClear">
            <summary>
            Removes all entries from the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.
            </summary>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseGet(System.Int32)">
            <summary>
            <para>Gets the value of the entry at the specified index of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="index">
            <para>The zero-based index of the value to get.</para>
            </param>
            <returns>
            <para>An object that represents the value of the entry at the specified index.</para>
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseGet(System.String)">
            <summary>
            <para>Gets the value of the first entry with the specified key from the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="name">
            <para>The string key of the entry to add. The key can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic)</para>.
            </param>
            <returns>
            <para>An object that represents the value of the first entry with the specified key, if found; otherwise, a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseSet(System.Int32,System.Object)">
            <summary>
            <para>Sets the value of the entry at the specified index of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="index">
            <para>The zero-based index of the entry to set.</para>
            </param>
            <param name="value">
            <para>The object that represents the new value of the entry to set. The value can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </param>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseSet(System.String,System.Object)">
            <summary>
            <para>Sets the value of the first entry with the specified key in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance, if found; otherwise, adds an entry with the specified key and value into the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="name">
            <para>The string key of the entry to set. The key can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic)</para>.
            </param>
            <param name="value">
            <para>The object that represents the new value of the entry to set. The value can be a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </param>
            <exception cref="T:System.InvalidOperationException">
            <para>The collection already contains an entry for <paramref name="name"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The collection is read-only.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseGetKey(System.Int32)">
            <summary>
            <para>Gets the key of the entry at the specified index of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="index">
            <para>The zero-based index of the key to get.</para>
            </param>
            <returns>
            <para>A string that represents the key of the entry at the specified index.</para>
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseGetAllKeys">
            <summary>
            <para>Returns a String array that contains all the keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <returns>
            <para>A string array that contains all the keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseGetAllValues">
            <summary>
            <para>Returns an Object array that contains all the values in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <returns>
            <para>An object array that contains all the values in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.BaseGetAllValues(System.Type)">
            <summary>
            <para>Returns an array of the specified type that contains all the values in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <param name="type">
            <para>A <see cref="T:System.Type"/> that represents the type of array to return.</para>
            </param>
            <returns>
            <para>An array of the specified type that contains all the values in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </returns>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.Keys">
            <summary>
            <para>Gets a <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> instance that contains all the keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </summary>
            <value>
            <para>A <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> instance that contains all the keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </value>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.Count">
            <summary>
            Gets the number of key-and-value pairs contained in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.
            </summary>
            <value>
            <para>The number of key-and-value pairs contained in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance.</para>
            </value>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.SyncRoot">
            <summary>
            <para>Gets an object that can be used to synchronize access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </summary>
            <value>
            <para>An object that can be used to synchronize access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/>.</para>
            </value>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.IsSynchronized">
            <summary>
            <para>Gets a value indicating whether access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> is synchronized (thread-safe).</para>
            </summary>
            <value>
            <para><see langword="true"/> if access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> is synchronized (thread-safe); otherwise, <see langword="false"/>. The default is <see langword="false"/>.</para>
            </value>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.IsReadOnly">
            <summary>
            <para>Gets or sets a value indicating whether the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance is read-only.</para>
            </summary>
            <value><see langword="true"/> if the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection"/> instance is read-only; otherwise, <see langword="false"/>.</value>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection">
            <summary>
            <para>Represents a collection of the String keys of a collection.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.Get(System.Int32)">
            <summary>
            <para>Gets the key at the specified index of the collection.</para>
            </summary>
            <param name="index"><para>The zero-based index of the key to get from the collection.</para></param>
            <returns><para>A string that contains the key at the specified index of the collection.</para></returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.GetEnumerator">
            <summary>
            <para>Returns an enumerator that can iterate through the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </summary>
            <returns>
            <para>An <para>IEnumerator</para> for the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            <para>Copies the entire <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> to a compatible one-dimensional Array, starting at the specified index of the target array.</para>
            </summary>
            <param name="array">
            <para>The one-dimensional Array that is the destination of the elements copied from <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>. The Array must have zero-based indexing.</para>
            </param>
            <param name="index">
            <para>The zero-based index in array at which copying begins. </para>
            </param>
            <excetion cref="T:System.ArgumentNullException">
            <para><paramref name="array"/> is a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </excetion>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="array"/> is multidimensional</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than the length of array.</para>
            <para>-or-</para>
            <para>The number of elements in the source <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> is greater than the available space from index to the end of the destination array.</para>
            </exception>
            <exception cref="T:System.InvalidCastException">
            <para>The type of the source <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> cannot be cast automatically to the type of the destination array.</para>
            </exception>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.CopyTo(System.String[],System.Int32)">
            <summary>
            <para>Copies the entire <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> to a compatible one-dimensional Array, starting at the specified index of the target array.</para>
            </summary>
            <param name="array">
            <para>The one-dimensional Array that is the destination of the elements copied from <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>. The Array must have zero-based indexing.</para>
            </param>
            <param name="index">
            <para>The zero-based index in array at which copying begins. </para>
            </param>
            <excetion cref="T:System.ArgumentNullException">
            <para><paramref name="array"/> is a <see langword="null"/> reference (<see langword="Nothing"/> in Visual Basic).</para>
            </excetion>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="array"/> is multidimensional</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than the length of array.</para>
            <para>-or-</para>
            <para>The number of elements in the source <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> is greater than the available space from index to the end of the destination array.</para>
            </exception>
            <exception cref="T:System.InvalidCastException">
            <para>The type of the source <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/> cannot be cast automatically to the type of the destination array.</para>
            </exception>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.Item(System.Int32)">
            <summary>
            <para>Gets the entry at the specified index of the collection.</para>
            </summary>
            <param name="index">
            <para>The zero-based index of the entry to locate in the collection.</para>
            </param>
            <value>
            <para>The string key of the entry at the specified index of the collection.</para>
            </value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is outside the valid range of indexes for the collection.</para>
            </exception>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.Count">
            <summary>
            <para>Gets the number of keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </summary>
            <value>
            The number of keys in the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.
            </value>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.System#Collections#ICollection#SyncRoot">
            <summary>
            <para>Gets an object that can be used to synchronize access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </summary>
            <value>
            <para>An object that can be used to synchronize access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </value>
        </member>
        <member name="P:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection.System#Collections#ICollection#IsSynchronized">
            <summary>
            <para>Gets an object that can be used to synchronize access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </summary>
            <value>
            <para>an object that can be used to synchronize access to the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.DataCollection.KeysCollection"/>.</para>
            </value>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter">
            <summary>
            <para>Provides exception formatting when not using the Exception Handling block.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter.#ctor">
            <summary>
            <para>Initialize a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter"/> class.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter.#ctor(System.Collections.Specialized.NameValueCollection,System.String)">
            <summary>
            <para>Initialize a new instance of the <see cref="T:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter"/> class with the additional information and the application name.</para>
            </summary>
            <param name="additionalInfo">
            <para>The additional information to log.</para>
            </param>
            <param name="applicationName">
            <para>The application name.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter.GetMessage(System.Exception)">
            <summary>
            <para>Get the formatted message to be logged.</para>
            </summary>
            <param name="exception"><para>The exception object whose information should be written to log file.</para></param>
            <returns><para>The formatted message.</para></returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.ExceptionFormatter.CollectAdditionalInfo">
            <devdoc>
            Add additional 'environment' information. 
            </devdoc>
        </member>
        <member name="T:Microsoft.Practices.EnterpriseLibrary.Common.FileHelper">
            <summary>
            <para>Helper class to do all the file work. It assumes that all files are rooted.</para>
            </summary>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.FileHelper.ChangeFileAttributesToWritable(System.String)">
            <summary>
            <para>Reset the file attributes of a file so it can be overwritten.</para>
            </summary>
            <param name="filePath">
            <para>The fully qualified path to the file.</para>
            </param>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.FileHelper.IsFileReadOnly(System.String)">
            <summary>
            <para>Determies if the file is read-only.</para>
            </summary>
            <param name="filePath">
            <para>The fully qualified path to the file.</para>
            </param>
            <returns>
            <para><see langword="true"/> if the file is read-only; otherwise <see langword="false"/>.</para>
            </returns>
        </member>
        <member name="M:Microsoft.Practices.EnterpriseLibrary.Common.FileHelper.CreateZeroByteFile(System.String)">
            <summary>
            <para>Creat a zero byte length file in the specified path.</para>
            </summary>
            <param name="filePath">
            <para>The absolute path to the file to create.</para>
            </param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="filePath"/> is a <see langword="null"/> reference (Nothing in Visual Basic).</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            <para>The caller does not have the required permission.</para>para&gt;
            <para>-or-</para>
            <para><paramref name="filePath"/> specified a file that is read-only.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="filePath"/> is a zero-length string, contains only white space, or contains one or more invalid characters as defined by <see cref="F:System.IO.Path.InvalidPathChars"/>.</para>
            </exception>
            <exception cref="T:System.IO.PathTooLongException">
            <para>The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.</para>
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <para>The specified path is invalid, such as being on an unmapped drive.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            <para>An I/O error occurred while creating the file.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="filePath"/> is in an invalid format.</para>
            </exception>
            <seealso cref="M:System.IO.File.Create(System.String)"/>
        </member>
    </members>
</doc>
